
function checkPhone(phone) {
  if (!(/^[1][3,4,5,7,8,9][0-9]{9}$/.test(phone))) {
    return false;
  }
}
function isCardNo(card) {
  // 身份证号码为15位或者18位，15位时全为数字，18位前17位为数字，最后一位是校验位，可能为数字或字符X 
  var reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
  if (!reg.test(card)) {
    return false;
  }
}
function showMsg(msg) {
  //Toast的使用方法
  showToast({
    text: msg, //【必填】，否则不能正常显示 , 剩余的其他不是必填
    bottom: '50%', //toast距离页面底部的距离
    zindex: 2, //为了防止被其他控件遮盖，z-index默认为2
    speed: 500, //toast的显示速度
    time: 3000 //toast显示多久以后消失
  });
}

var options = {
  url: `${rootpath}/report/add`, //提交地址：默认是form的action,如果申明,则会覆盖
  type: "post",   //默认是form的method（get or post），如果申明，则会覆盖
  beforeSubmit: beforeCheck, //提交前的回调函数
  success: successfun,  //提交成功后的回调函数
  dataType: "json", //html(默认), xml, script, json...接受服务端返回的类型
  clearForm: false,  //成功提交后，是否清除所有表单元素的值
  resetForm: true,  //成功提交后，是否重置所有表单元素的值
  timeout: 3000     //限制请求的时间，当请求大于3秒后，跳出请求
};
// 提交前校验数据
function beforeCheck(formData, form, options) {
  /* 遍历每一个表单值
  如果为空, 不让其提交 */
  for (let i = 0; i < formData.length; i++) {
    if (!formData[i].value) {
      showMsg("每一项都必须填哦！")
      return false;
    }
    // 手机号检验
    if (formData[i].name === "phone") {
      if (checkPhone(formData[i].value) === false) {
        showMsg("手机号不符合规则哦！")
        return false;
      }
    }
    // 身份证号检验
    if (formData[i].name === "IDCard") {
      if (isCardNo((formData[i].value)) === false) {
        showMsg("身份证号不符合规则哦！")
        return false;
      }
    }
  }
  return true;
}
// 提交成功回调函数
function successfun(data, status, xhr) {
  console.log("data", data)
  console.log("status", status)
  console.log("xhr", xhr)
  reportSuccess();
}
// 页面入口函数
$(function () {
  // 三级联动省市区选择器
  // 获取省市区数据
  // var data = loadjson('../plugins/Larea/AreaData.json')
  var datas;
  $.ajax({
    url: '../plugins/Larea/AreaData.json',
    type: 'GET',
    dataType: 'json',
    async: false,
    success: function (data) {
      datas = data.data
    }
  })
  var area = new LArea();
  area.init({
    'trigger': '#country',//触发选择控件的文本框，同时选择完毕后name属性输出到该位置
    'valueTo': '#value1',//选择完毕后id属性输出到该位置
    'keys': { id: 'id', name: 'name' },//绑定数据源相关字段 id对应valueTo的value属性输出 name对应trigger的value属性输出
    'type': 1,//数据源类型
    'data': datas//数据源
  });
  // 移动端日期选择组件
  var calendar = new LCalendar();
  calendar.init({
    'trigger': '#return_date',//标签id
    'type': 'date',//date 调出日期选择 datetime 调出日期时间选择 time 调出时间选择 ym 调出年月选择
    'minDate': '1900-01-01',//最小日期 注意：该值会覆盖标签内定义的日期范围
    'maxDate': '2099-01-01'//最大日期 注意：该值会覆盖标签内定义的日期范围
  });
  // 表单提交行为
  $("#report_form").submit(function () {
    $("#report_form").ajaxSubmit(options);
    // 取消默认提交行为
    return false;
  });
})